home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
501-525
/
disk_512
/
csh
/
changes.doc
< prev
next >
Wrap
Text File
|
1992-05-06
|
16KB
|
297 lines
New features to 5.15:
- 'exec -i' ignores return code from executed command and returns 0
- 'foreach' and the other 'for...' commands are now interruptible with ^D
- 'qsort' and 'readfile' no longer keep used mem for csh private needs
- ^D no longer displays full path names
- %s shows number of open shells in prompt or title bar
- documented 'error' command and 'htype -r'
- created short 'overview.doc' for the impatient
- there is a new editing function for character swapping
- improved various error messages
Bug fixes in 5.15:
- $( ) and ` ` no longer corrupt the variables (terrible bug!)
- nested blocks had an additional error: {{echo hi}} didn't work
- 'qsort' could get stuck when quick scrolling was enabled
- 'diskchange' was not compatible with some handlers
- empty lines in multiple line blocks no longer cause problems
- mansplit.sh and syms.c were missung from the distribution
- files with very long names could mistakingly be sourced when started
- 'csh -r' now works; makefile corrected accordingly (now also LMK-able)
- 'whereis -r' works again
- 'copy -r' now correctly sets file dates in deeply nested directories
- functions that failed returned the previous function's value
- @fileblks would return incorrect block counts
- _abbrev didn't turn off abbreviations if set to 'n'
- _bground was always set to '1'
Incompatibilities in 5.15:
- @drives, @drive and @volume add ':'. This is more consistent.
New features to 5.14:
- 'mem -l' causes mem flush
- 'rm -q' suppresses warnings if file cannot be removed
- 'rxsend' can be aborted using ^C in case of emergency
- 'writefile' writes a set of words as a file, one word per line
- $_rback determines the command to be used for background starting ('&')
- @trim( ) removes leading and trailing blanks from its arguments
- @basename( ) now works with sets of words instead of only one
- ^D will show the directory while editing
- scripts of foreign shells are supported, e.g. /*RX as first line
- backticks ` ` now remove leading, trailing and multiple blanks
- arguments containing a ';' are quoted when passed to external cmds
- script 'mansplit.sh' inside sample.sh makes csh.doc MRman compatible
Bug fixes of 5.14: bug present since
- ^U on an empty command line could cause crashes 5.00
- 'dir >prt:' is now guaranteed not to cause lockups 5.00
- 'if' now yields correct results in compares with empty strings 1.00
- 'dir -n' can be combined with the option '-f' 3.00
- 'readfile' now works with large files (was probably a realloc() bug) 5.00
- 'search' no longer keeps the allocated memory for cshell private use 5.00
- 'resident -d' works again, better than before (paths allowed) 5.10
- 'pushd' from the sample script acts like UNIX equivalent 5.00
- 'help' was misaligned 5.11
- 'echo .*' will no longer list all files, but those starting with '.' 5.10
- 'echo >.login' no longer yields 'redirection error' 3.00
- backticks ` ` now work with large number of arguments 5.10
Bug fixes of 5.13: bug present since
- 'csh -r' now works (yet another SAS C global optimizer bug) 5.00
- KS 1.3 installation docs error: 'newcli' should be 'newshell' 5.00
- installations docs error: 'stack 8000' necessary before starting csh 5.00
New features to 5.12:
- 'if -o char args' checks for options in the remaining arguments
- @arg( ) introduced as an alias for @pickargs( ), @opt( ) for @pickopts( )
- new format symbol in 'dir': %l inserts line feed if there's a file note
- history completion (shift-arrow up) can now be repeated
Bug fixes of 5.12: bug present since
- nested braces now should work in all cases 5.10
- external commands with args no longer see two line feeds 5.10
- external commands without args will no longer see 2 LF's (e.g. D2D) 3.00
- c:Run can be used, although redirection does not work yet 3.00
- redirecting 'dir >prt:' now works, although problem not 100% solved 5.00
- partial tab file name completion accepts words with different case 5.00
- 'dir -z' with corrupt format strings prints no random characters 5.10
- 'dir -v' correctly sums up the directory sizes 5.10
Incompatibilities in 5.12:
- @drives( ) no longer adds colons, you can append them yourself easily
Bug fixes of 5.11: bug present since
- 'assign' without args would crash on an MC68000 under Kick 1.3 5.10
New features to 5.10:
- totally rewritten parser, therefore:
- local variables, in aliases as well as in batch files
- blocks can be formed, redirected, aborted: {e yo;e ho}
- $(foo) will insert output of program foo at that point, similar with `foo`
- wildcard expansion also done in first arg, e.g. '*' is a legal command line
- command lines like '$mydir/$mycommand ram:' now works
- aliases/foreach/forline/fornum/source can be redirected as a whole
- direct recursion in aliases prevented, 'alias ls "ls -s"' works
- additional speedup; twice as fast as 4.xx, four times as fast as c:Execute
- '.bra' and '.ket' introduced as dummy commands for script compatibility
- 'assign' now yields a list of all assings including late/nonbinding, paths
- 'assign -p' does path assigns (like 'c:Assign ... ADD)
- 'cat' CR terminated non-CR-termintad files again if not redirected
- 'class' can pattern-match now, e.g. 'class sound name="mod.*"'
- 'copy' has a larger buffer and checks for ^C more often
- 'copy -m' moves files (but not directories yet)
- 'dir -p' prints full paths and suppresses titles
- 'dir' can separate direcories at the top or bottom
- 'dir -z formatstring' is a very powerful formatting feature
- 'error' generates a desired return code
- 'forline i STDIN' reads args from stdin
- 'input' removes leading, trailing and multiple blanks
- 'local' and 'unlocal' for generating and deleting local variables
- 'man' can handle multiple .doc files, so you can document your own aliases
- 'mem' uses , instead of ' and is right adjusted
- 'source' can handle multiple line blocks of arbitrary length
- 'qsort' can now sort in reverse order
- 'rback'/'run' now set the variable '$_newproc' to the # of the new process
- $_abbrev can be used to disable abbreviation if internal commands
- $_ioerr contains the secondary return code after an error
- $_path now contains S: and CSH: in order to run scripts
- $_pipe now holds the directory for the temporary pipe files
- $_verbose need to be set to special values, now can trace alias calls
- @console tells whether stdin or stdout are interactive
- @ioerr converts a secondary error number to a string (like 'Why')
- @mounted indicates whether a device has been mounted yet or not
- @sortnum sorts its arguments numerically
- @volume now suppresses ugly system requesters
- shift-arrow-up and shift-arrow-down now behave like under AmigaDOS
- there is now an editing function that duplicates the last word
- csh has a startup option to enable '*' as an alias for '#?' in AmigaDOS
- a directory CSH: is proposed for scripts and the doc
- concatted lines in source files can be as long as you want
- . now stands for current directory, .. for parent
- soft and hard links to directories are ignored on wild card expansion
Bug fixes of 5.10 (in order of severity): bug present since
- AmigaDOS residents should work fine now. V37 kickstart required 5.00
- 'Wait 5&' as an alias for 'rback Wait 5' now works 5.00
- 'rm -r ram:' and 'search -r "" hello' finally do their job 4.00
- 'c:execute' works. check the restrictions chapter 3.00
- '!!' was broken in the first parser rewrite, fixed now. 5.00
- 'return' occasionally didn't skip the whole source file 5.00
- '~' now can correctly be used in path names: ~/*.c 5.00
- 'Repeat' from menu caused a loop (correct behaviour!) 5.00
- 'forline' no longer crashes if the from-file does not exist 4.00
- 'set x 1 2;echo hello$x' finally yields 'hello1 2'. 1.00
- 'goto' also works if there are '\' in the source file 4.00
- command line editing on VT100's was broken. fixed. 5.00
- low mem situations now cause a graceful exit instead of a crash 1.00
- actions on files with embedded blanks are performed correcty 5.00
- 'man' no longer opens garbage files (SnoopDos is hard to cheat) 5.00
- 'dir -o' now works (ls -o always did) 5.00
- 'dir df0:' with no disk in drive yields correct error message 5.00
- 'dir' no longer adds line feeds to invalid date stamps 5.00
- 'set _prompt "% "' is now allowed (not only 'set _prompt "%% "') 5.00
- 'search -l' no longer does unnecessary line feeds 5.00
- '@pickopts' stops picking options at the first non-option 5.00
- system requesters are no longer unintentionally disabled 5.00
Incompatibilities in 5.10
- a stand-alone '.' must be quoted now. check your strhead's and strtail's!
- the quick-cd file and the manual (now named csh.doc) should reside in csh:
- some builtin aliases and preset function keys have been moved to compat.sh
- the functions of shift-arrow-up & down are mapped to esc-arrow-up & down
- the path is now searched before auto CD is attempted (mimicking AmigaDOS)
- the characters { } @ ( ) should be quoted if you just want to echo them
- a redirection error now causes a return code of 20 instead of 1
- _verbose now holds numeric values, 'set _verbose yes' won't work anymore
- @volume no longer appends a trailing colon to the volume name
- an empty string is now passed to external commands as ""
- future: a leading '/' and '~' might change meaning towards UNIX
New features to 5.00
- read the doc! almost everything's new.
Bug fixes to 5.00:
- recursive wild card expansion does not crash the Amiga 3000 anymore
- recursive wild card expansion does not lose memory anymore
- now works on AUX:
- trying to start a non-object-file now properly prints 'Command Not Found'
- automatic sourcing now also works if you already add .sh to the file name
- files longer than 999999 bytes no longer misalign 'dir'
- exec does not discard the rest of the command line ('exec echo hi;echo ho')
- all memory trashing fixed. Thanks to C= for their great debugging tools!
- source doesn't forget last character if batchfile was not CR terminated
- run & rback also search AmigaDOS path now
- division by zero does not crash rpn anymore
- temporary pipe files are now written to t: instead of ram:
- shift-tab does not cause a lockup anymore
- running the shell via aux: no longer crashes the machine
- 'history partial' now numbers the lines correctly
- strleft, strright and strmid no longer crash on strings > 256 bytes
- source with no arguments now prints correct error message
- 'input' now cuts down lines longer than 256 bytes instead of crashing
- cursor-up no more deletes lines if there's an invalid entry in the history
- if history fails, no empty history entry is generated
- 'echo "---"' and even 'echo ---' work, but 'echo "-a"' still doesn't
- international character sets can be used
- 'copy -u' won't copy a file with identical date stamp but in uppercase
- 'copy -u' will no longer access low memory
- 'echo "echo mem | shell" | shell' now works, not only every second time
- starting from workbench now prevented
- editing lines longer than 256 bytes is now correctly prevented
- word-right cursor movement works correclty with multiple blanks
- 'if'-stack will be adjusted when a batch file is exited
- relabel occasionally crashed in Syquest drives. should be okay now
Known bugs in 5.00:
- under 2.0, doing a 'cat' with no args and pressing return will cause a
character to appear at the right border of the window. seems to be a
kickstart bug, as it does not happen under older kickstarts.
- AmigaDOS 2.0 CLI commands cannot be made resident. They read their command
line from stdin. This is definitely a kickstart bug.
- guaranteed to crash in extreme low mem situations
- command line editing doesn't quite work on a (physical) vt100. OK on VT200
- under kick 2.00, fast repetition of ^W crashed. OK under 2.02
- 'set x a b;echo hello$x' still outputs only 'a b'
Incompatibilities in 5.00:
- 'copy -f' now means 'freshen'. Old meaning of -f is now -p (protection)
- '~' at the beginning of a file name must now be quoted
- '@' is the beginning of an argument should be quoted
- 'cat' no longer adds a CR to a non-CR-terminated file
- '0' is now 'false'. Example: 'if 0;e hi;else;e ho;endif --> ho
- variables with comparision operators inside now cause problems in 'if'
- a single '?' will not pattern match, but be passed as a string
New to 4.02A:
- Fixed bug that caused loss of memory on exit.
- cp now copies protection bits; use -f switch if you want to avoid this.
- Added commands: man (and alias manlist), uniq, head, tail, tee.
- This doc has been reformatted to work with man.
New to 4.01A:
- This version features mostly bug fixes and corrections:
* Window title is restored after quitting.
* rxrec now answers to the 'bye' message.
* rpn can now be redirected and piped; however, this causes
some problem (see rpn for info).
* resident list now works with ARP 1.3. To recompile source, you must
modify include file "libraries/arpbase.h".
Change definition of rpn_Usage in struct ResidentProgramNode from LONG
to WORD.
* pri no more assumes 20 CLI maximum.
* you can now split long lines in source files even into more than 2 lines.
- Added much info in this doc about source files (chapter XI)
- Added copyright notice (see under restrictions).
New to 4.00A:
- This version is called 4.00A because it is not 100% compatible with
previous versions. We choose to accept this in order to better support
the new ARP.library 1.3.
- External commands are searched in a different order than before; Shell
path is now searched AFTER current directory, AmigaDOS path and C:.
- ARP pattern matching has been implemented (in part for line arg expanding,
fully for search -w).
- Internal changes for various optimizations.
- Search command has been improved in several ways.
- New commands: basename, tackon.
- New options: if -v, resident -d, fornum -v -s, dir -n.
- Fixed bugs with dir (some dirs remained locked), foreach -v, htype
(blanks were treated as binary), info (for devices > 32M).
- rback command now works ok (run, however, doesn't).
- Oh, I forgot: it also has an AREXX port... And you don't even have to get
AREXX to use it. See new commands rxsend, rxrec
New to 3.03A:
- New filter commands fltlower, fltupper.
- Added configuration file feature: now if you have a file named S:.login,
it will be sourced for every Shell you start.
- New option dir -c.
- New editing feature: shift-left(right) arrow move cursor to previous(next)
word.
- Bugs fixed: alias command wasn't listed in help; typing a number as a
command was interpreted like 'alias'.
New to 3.02A:
- New commands: fornum, forline, strleft, strright, strmid, strlen, exec.
- Improved commands: foreach, pri.
- New system variable _clinumber.
- You can now split long lines in source files (see source for details).
- window -q now lists also position of screens/windows, not only dimension.
- Since strings are handled directly from Shell with new commands,
rpn is now used only for calculations; string commands are gone.
However, now RPN is really usable.
- Changed rawgets() to fix some problems with function keys, multi-line
editing and window resizing; also, fixed bug with ^E.
- cat now warns you if it can't find any file matching your pattern.
- Now uses DOS packets to get ptr to CLI window; this fixes a bug that
caused problems if Shell was run on unactive windows.
- Fixed minor bugs (htype printed some more ASCII bytes, some commands
returned random values, history didn't print CR's).